diff --git a/grbl/config.h b/grbl/config.h
index f48d958..29f695f 100644
--- a/grbl/config.h
+++ b/grbl/config.h
@@ -674,7 +674,52 @@
 // updating lots of code to ensure everything is running correctly.
 // #define DUAL_AXIS_CONFIG_CNC_SHIELD_CLONE  // Uncomment to select. Comment other configs.
 
+// General switch to turn the ADC module on, further tuning below
+#ifndef USE_ADC // USE_ADC not passed in from make
 
+// Uncomment for enabling ADC by default, off by default
+//#define USE_ADC
+#endif
+
+#ifdef USE_ADC
+  // Supported modes. On 328p there are 9 different available modes for the ADC. Here only
+  // those actually supported in adc.h and adc.c. The mode is locked at compile time and is
+  // not possible to switch mode at runtime, making all ADC_CONFIG_MODE_ options mutually
+  // exclusive.
+  #define ADC_CONFIG_MODE_SW_TRIGGER 0 // Kick the next conversion manually in software
+  #define ADC_CONFIG_MODE_HW_TRIGGER 1 // HW kicks automatically the next conversion
+
+  // Supported vref are 2 internal and 1 external. If the external is wired to anything, never
+  // use any internal reference. 10uF capacitor between power anc gnd is suggested in all cases.
+  // Locked at compile time, mutually exclusive.
+  #define ADC_CONFIG_REFERENCE_INTERNAL_1VREF 0
+  #define ADC_CONFIG_REFERENCE_INTERNAL_5VREF 1
+  #define ADC_CONFIG_REFERENCE_EXTERNAL_AVCC 2
+
+  // There are 11 available channels on 328p, including GND and VBG
+  #define ADC_CONFIG_CHANNELS_COUNT 11
+
+  // 11 bit bitmask, set the bit corresponding to the channel to be enabled. Add more by or-ing,
+  // ie: (bit(0) | bit(3) | bit(6)). ADC8 has an internal temperature sensor plugged in, this
+  // is enabled by default.
+  #define ADC_CONFIG_ENABLED_CHANNELS (bit(8))
+
+  // Flag system alarm on abnormal readings, off by default
+  //#define ADC_CONFIG_SYSTEM_ALARM
+
+  // Needed if ADC_CONFIG_SYSTEM_ALARM is enabled.
+  //
+  // For each enabled channel the build will check is it is also defined a range
+  // of accepted values, this is used at runtime for raising a system alarms and
+  // for reporting information to the user. The sintax for defining a range is:
+  //   ADC_CONFIG_CHANNEL_ ## NUMBER ## _MIN (i.e: ADC_CONFIG_RANGE_CHANNEL_8_MIN)
+  // and
+  //   ADC_CONFIG_CHANNEL_ ## NUMBER ## _MAX (i.e: ADC_CONFIG_RANGE_CHANNEL_8_MAX)
+  #ifdef ADC_CONFIG_SYSTEM_ALARM
+    #define ADC_CONFIG_RANGE_CHANNEL_8_MIN 0
+    #define ADC_CONFIG_RANGE_CHANNEL_8_MAX 70
+  #endif
+#endif
 /* ---------------------------------------------------------------------------------------
    OEM Single File Configuration Option
 
diff --git a/grbl/defaults.h b/grbl/defaults.h
index 2e46130..46fee6a 100644
--- a/grbl/defaults.h
+++ b/grbl/defaults.h
@@ -63,6 +63,19 @@
   #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
   #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
   #define DEFAULT_HOMING_PULLOFF 1.0 // mm
+  #ifdef USE_ADC
+    #define DEFAULT_ENABLE_ADC 1 // Setting bit for marking ADC as on
+    #define DEFAULT_ADC_MODE ADC_CONFIG_MODE_SW_TRIGGER // Software triggering next conversion
+    #define DEFAULT_ADC_REFERENCE ADC_CONFIG_REFERENCE_INTERNAL_1VREF // AVcc reference input voltage
+    #define DEFAULT_ADC_READINGS 4 // Times each channel is to be read
+    #define DEFAULT_ADC_RESOLUTION 8 // Integer number of bits
+    #define DEFAULT_ADC_CLOCK 125 // Integer KHz value
+    #define DEFAULT_ADC_CHANNELS_MASK ADC_CONFIG_ENABLED_CHANNELS
+    #ifdef ADC_CONFIG_SYSTEM_ALARM
+      #define DEFAULT_ADC_RANGE_CHANNEL_8_MIN ADC_CONFIG_RANGE_CHANNEL_8_MIN // Celsius degrees
+      #define DEFAULT_ADC_RANGE_CHANNEL_8_MAX ADC_CONFIG_RANGE_CHANNEL_8_MAX // Celsius degrees
+    #endif
+  #endif
 #endif
 
 #ifdef DEFAULTS_SHERLINE_5400
diff --git a/grbl/grbl.h b/grbl/grbl.h
index 89db829..1f7bf75 100644
--- a/grbl/grbl.h
+++ b/grbl/grbl.h
@@ -60,6 +60,10 @@
 #include "spindle_control.h"
 #include "stepper.h"
 #include "jog.h"
+#ifdef USE_ADC
+ #include "cpu_map_adc.h"
+ #include "adc.h"
+#endif
 
 // ---------------------------------------------------------------------------------------
 // COMPILE-TIME ERROR CHECKING OF DEFINE VALUES:
diff --git a/grbl/main.c b/grbl/main.c
index 96f2aba..4e5b66e 100644
--- a/grbl/main.c
+++ b/grbl/main.c
@@ -42,6 +42,10 @@
   serial_init();   // Setup serial baud rate and interrupts
   settings_init(); // Load Grbl settings from EEPROM
   stepper_init();  // Configure stepper pins and interrupt timers
+  #ifdef USE_ADC
+    adc_data adc;
+    adc_init(&adc); // Setup ADC module with defaults
+  #endif
   system_init();   // Configure pinout pins and pin-change interrupt
 
   memset(sys_position,0,sizeof(sys_position)); // Clear machine position.
diff --git a/grbl/report.c b/grbl/report.c
index 666608a..414d215 100644
--- a/grbl/report.c
+++ b/grbl/report.c
@@ -208,6 +208,9 @@
   #else
     report_util_uint8_setting(32,0);
   #endif
+  #ifdef USE_ADC
+    report_util_uint8_setting(33,bit_istrue(settings.flags,BITFLAG_ADC_ENABLE));
+  #endif
   // Print axis settings
   uint8_t idx, set_idx;
   uint8_t val = AXIS_SETTINGS_START_VAL;
@@ -439,6 +442,9 @@
   #ifdef ENABLE_DUAL_AXIS
     serial_write('2');
   #endif
+  #ifdef USE_ADC
+    serial_write('@');
+  #endif
   // NOTE: Compiled values, like override increments/max/min values, may be added at some point later.
   serial_write(',');
   print_uint8_base10(BLOCK_BUFFER_SIZE-1);
@@ -653,6 +659,25 @@
   report_util_line_feed();
 }
 
+#ifdef USE_ADC
+  void report_adc_status()
+  {
+    uint8_t i;
+
+    printPgmString(PSTR("ADC Buffer ["));
+
+    for (i = 0; i < ADC_CHANNELS_ENABLED_COUNT; i++) {
+      printPgmString(PSTR(" channel:"));
+      print_uint32_base10((uint32_t)i);
+      printPgmString(PSTR(", value:"));
+      //print_uint32_base10((uint32_t) adc_read_unsigned(i));
+      if (i + 1 < ADC_CHANNELS_ENABLED_COUNT) serial_write(',');
+    }
+
+    printPgmString(PSTR(" ]"));
+    report_util_line_feed();
+  }
+#endif
 
 #ifdef DEBUG
   void report_realtime_debug()
diff --git a/grbl/report.h b/grbl/report.h
index f148002..c5e065b 100644
--- a/grbl/report.h
+++ b/grbl/report.h
@@ -124,6 +124,11 @@
 // Prints build info and user info
 void report_build_info(char *line);
 
+#ifdef USE_ADC
+// Prints ADC buffer
+void report_adc_status();
+#endif
+
 #ifdef DEBUG
   void report_realtime_debug();
 #endif
diff --git a/grbl/settings.c b/grbl/settings.c
index a9c830e..e607506 100644
--- a/grbl/settings.c
+++ b/grbl/settings.c
@@ -45,7 +45,11 @@
              (DEFAULT_HOMING_ENABLE << BIT_HOMING_ENABLE) | \
              (DEFAULT_SOFT_LIMIT_ENABLE << BIT_SOFT_LIMIT_ENABLE) | \
              (DEFAULT_INVERT_LIMIT_PINS << BIT_INVERT_LIMIT_PINS) | \
-             (DEFAULT_INVERT_PROBE_PIN << BIT_INVERT_PROBE_PIN),
+             (DEFAULT_INVERT_PROBE_PIN << BIT_INVERT_PROBE_PIN)
+    #ifdef USE_ADC
+             | (DEFAULT_ENABLE_ADC << BIT_ADC_ENABLE)
+    #endif
+             ,
     .steps_per_mm[X_AXIS] = DEFAULT_X_STEPS_PER_MM,
     .steps_per_mm[Y_AXIS] = DEFAULT_Y_STEPS_PER_MM,
     .steps_per_mm[Z_AXIS] = DEFAULT_Z_STEPS_PER_MM,
@@ -294,6 +298,12 @@
           return(STATUS_SETTING_DISABLED_LASER);
         #endif
         break;
+      #ifdef USE_ADC
+        case 33:
+	  if (int_value) { settings.flags |= BITFLAG_ADC_ENABLE; }
+	  else { settings.flags &= ~BITFLAG_ADC_ENABLE; }
+	  break;
+      #endif
       default:
         return(STATUS_INVALID_STATEMENT);
     }
diff --git a/grbl/settings.h b/grbl/settings.h
index 2d83ba9..9cac6c1 100644
--- a/grbl/settings.h
+++ b/grbl/settings.h
@@ -38,6 +38,9 @@
 #define BIT_SOFT_LIMIT_ENABLE  5
 #define BIT_INVERT_LIMIT_PINS  6
 #define BIT_INVERT_PROBE_PIN   7
+#ifdef USE_ADC
+  #define BIT_ADC_ENABLE       8
+#endif
 
 #define BITFLAG_REPORT_INCHES      bit(BIT_REPORT_INCHES)
 #define BITFLAG_LASER_MODE         bit(BIT_LASER_MODE)
@@ -47,6 +50,9 @@
 #define BITFLAG_SOFT_LIMIT_ENABLE  bit(BIT_SOFT_LIMIT_ENABLE)
 #define BITFLAG_INVERT_LIMIT_PINS  bit(BIT_INVERT_LIMIT_PINS)
 #define BITFLAG_INVERT_PROBE_PIN   bit(BIT_INVERT_PROBE_PIN)
+#ifdef USE_ADC
+  #define BITFLAG_ADC_ENABLE       bit(BIT_ADC_ENABLE)
+#endif
 
 // Define status reporting boolean enable bit flags in settings.status_report_mask
 #define BITFLAG_RT_STATUS_POSITION_TYPE     bit(0)
@@ -103,7 +109,11 @@
   float rpm_max;
   float rpm_min;
 
-  uint8_t flags;  // Contains default boolean settings
+  #ifdef USE_ADC
+    uint16_t flags;  // Contains default boolean settings
+  #else
+    uint8_t flags;
+  #endif
 
   uint8_t homing_dir_mask;
   float homing_feed_rate;
diff --git a/grbl/system.c b/grbl/system.c
index 55e6c40..009caca 100644
--- a/grbl/system.c
+++ b/grbl/system.c
@@ -166,6 +166,13 @@
             // Don't run startup script. Prevents stored moves in startup from causing accidents.
           } // Otherwise, no effect.
           break;
+        #ifdef USE_ADC
+          case '@' :
+	    // Block during cycle. Takes too long to print.
+	    if ( sys.state & (STATE_CYCLE | STATE_HOLD) ) { return(STATUS_IDLE_ERROR); }
+	    else { report_adc_status(); }
+	    break;
+        #endif
       }
       break;
     default :
diff --git a/grbl/system.h b/grbl/system.h
index cfc9273..a27351b 100644
--- a/grbl/system.h
+++ b/grbl/system.h
@@ -48,6 +48,9 @@
 #define EXEC_ALARM_HOMING_FAIL_PULLOFF        8
 #define EXEC_ALARM_HOMING_FAIL_APPROACH       9
 #define EXEC_ALARM_HOMING_FAIL_DUAL_APPROACH  10
+#ifdef ADC_CONFIG_SYSTEM_ALARM
+  #define EXEC_ALARM_ADC                      11
+#endif
 
 // Override bit maps. Realtime bitflags to control feed, rapid, spindle, and coolant overrides.
 // Spindle/coolant and feed/rapids are separated into two controlling flag variables.
@@ -122,7 +125,6 @@
 #define SPINDLE_STOP_OVR_RESTORE        bit(2)
 #define SPINDLE_STOP_OVR_RESTORE_CYCLE  bit(3)
 
-
 // Define global system variables
 typedef struct {
   uint8_t state;               // Tracks the current system state of Grbl.
